Many electronic apparatuses (e.g., digital cameras, cell phones, smart phones, tablet computers, laptop computers, digital music players, portable gaming stations, etc.) include one or more data buses over which a main or central processor circuit communicates with one or more controlled devices. For example, a main processor circuit may be coupled to an image sensor in a digital camera through a data bus. The main processor circuit may send commands and data over the data bus, and may also receive responses and data back from the image sensor over the data bus. Designing an appropriate data bus can be challenging because while it is typically desirable to have a large data throughput available on the data bus, it can also be desirable to have a relatively narrow (e.g., few data lines) data bus to conserve physical space within an electronic apparatus and/or to reduce noise, interference, cross-coupling, and other issues involved with wide, parallel data buses. The need for a narrow data bus is particularly acute in view of today's shrinking electronic apparatus sizes. Several industry standards and protocols exist for data buses in electronic apparatuses today, and an electronic apparatus designer may find it useful to use such standards rather than design a customized data bus. These industry standards, however, are typically constrained by legacy requirements, and hence are typically relatively slow.
Taking an image sensor as one example of a controlled device connected to a data bus, some examples of industry protocols for serial data buses for image sensors include Inter-Integrated Circuit (I2C), the Camera Control Interface (CCI) of MIPI, the Standard Mobile Imaging Architecture (SMIA), and so forth. Using a serial (or even a parallel) data bus can prove challenging for controlling an image sensor if, for example, the image sensor has control registers that need to be rapidly updated over the data bus. Such a scenario may occur where one or more of the auto-exposure, shutter speed, white balance, analog-to-digital gain, gamma, saturation, hue, resolution, and so forth for one or more pixels of the image sensor need to be updated in between or during each frame. As the frame rate is increased, the amount of time available for both communicating such updates over the data bus and for actually updating the control registers and relevant circuitry of the control circuit decrease. Today's image sensors not only typically have very high frame rates (for example between 30 and 60 fps), but the image sensors are becoming more complex with more control registers that need to be updated. The combination of reduced time available to communicate control register updates over a data bus and the increased number of control register updates to communicate over the data bus can overload a relatively slow data bus.